課程資訊
課程名稱
編譯程式設計
COMPILER DESIGN 
開課學期
96-2 
授課對象
資訊工程學系  
授課教師
薛智文 
課號
CSIE3230 
課程識別碼
902 39200 
班次
01 
學分
全/半年
半年 
必/選修
必帶 
上課時間
星期一2,3,4(9:10~12:10) 
上課地點
資103 
備註
限本系所學生(含輔系、雙修生)
總人數上限:160人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Compiler 

課程目標
1. Introduction (ch#1, reading ch1.6 and ch#2 by yourself is expected.)
2. Lexical analysis (Scanner) (ch#3.1–3.4, 3.6, 3.7, 3.5, 3.8):
* regular expressions, finite state automata, LEX
3. Syntax analysis (Parser) (ch#4.1–4.7):
* context-free grammar, top-down parsing, LL(1), bottom-up parsing, SLR, LR(0), LR(1), LALR(1)
4. Syntax-directed translation (ch#5.1–5.6, 4.8, 4.9):
* Syntax-directed translation, using ambiguous grammar, YACC
5. Symbol tables (ch#2.7, 6.5):
* data structures for symbol tables, type checking
6. Intermediate code generation (ch#6.1–6.4,6.6–6.8):
* intermediate code, declarations, ex-pressions, advanced data structure, control flow, procedure/function, other statements
7. Run time storage organization (ch#7.1–7.4):
* stack, access to nolocal data, heap
8. Optimization (ch#8.4,8.5,8.6,9.1,9.2,8.7):
* basic blocks, flow graphs, machine-independent optimizations
9. How to write a compiler
10. Advanced topics1:
* garbage collection (ch#7.5–7.8), parallelism (ch#10, ch#11), ...


 
課程要求
* homeworks (25%): one homework per 2 to 3 lectures.
* mid-term exam (35%);
* final project (40%): check points, documents, presentation, and testing;
* class participation and performance.
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
Textbook:
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題